package com.ttg.model.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * 人群表实体类
 */
@Data
@Accessors(chain = true)
@TableName("tbl_people_info")
public class PeopleInfo implements Serializable {
    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 人群名称
     */
    @TableField("pep_name")
    private String pepName;

    /**
     * 英文人群名称
     */
    @TableField("pep_en_name")
    private String pepEnName;

    /**
     * 备注
     */
    @TableField("pep_description")
    private String pepDescription;

    /**
     * 人群颜色
     */
    @TableField("pep_color")
    private String pepColor;

    /**
     * 包含用户,标签关联id
     */
    @TableField("contains_tag_ids")
    private String containsTagIds;

    /**
     * 排除用户,标签关联id
     */
    @TableField("exclude_tag_ids")
    private String excludeTagIds;

    /**
     * 是否移动端显示，0-否，1-是  默认选择“否”
     */
    @TableField("pep_mobile_show")
    private Integer pepMobileShow;

    /**
     * 数据口径: user-用户 , merch -商户
     */
    @TableField("pep_data_source")
    private String pepDataSource;

    /**
     * 预估人数
     */
    @TableField("pep_num")
    private Integer pepNum;

    /**
     * 更新方式：auto-自动更新，hand-手动更新（标签生成后，点击“更新"进行数据的更新）
     */
    @TableField("update_type")
    private String updateType;

    /**
     * 更新时间范围：示例：20251020-20251020,为null表示不限制
     */
    @TableField("update_date_scope")
    private String updateDateScope;

    /**
     * 更新频率，daily-每天，weekly-每周，monthly-每月
     */
    @TableField("update_frequency")
    private String updateFrequency;

    /**
     * 人群更新日期：更新频率=每周时，保存周一到周日1-7（多个逗号分割），更新频率=每月时，保存1号-31号，倒数第一天-倒数第三天lastday1-lastday3（多个逗号分割）
     */
    @TableField("pep_update_dates")
    private String pepUpdateDates;

    /**
     * 人群更新时间
     */
    @TableField("pep_update_time")
    private LocalTime pepUpdateTime;

    /**
     * 人群下一次更新时间
     */
    @TableField("pep_next_update_time")
    private LocalDateTime pepNextUpdateTime;

    /**
     * 最新版本计算状态(0.成功 1.失败 2.计算中 3.等待计算 4.延迟计算)
     */
    @TableField("version_status")
    private Integer versionStatus;

    /**
     * 创建类型 system-系统预定义，customize-自定义添加
     */
    @TableField("create_type")
    private String createType;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 添加时间
     */
    @TableField("add_time")
    private LocalDateTime addTime;

    /**
     * 添加人
     */
    @TableField("add_id")
    private Long addId;

    /**
     * 人群状态(0.正常运行 1.已暂停 2.已删除)
     */
    @TableField("pep_status")
    private Integer pepStatus;
}